#pragma once
#include <map>
#include "GLSLShaderProgram.h"

namespace lib3dw
{
	class GLSLShaderProxySingleton
	{
		public:
			static GLSLShaderProxySingleton* Instance();
			std::map<std::string, GLSLShaderProgram*>* GetLoadedShaderPrograms();

		protected:
			GLSLShaderProxySingleton();

		private:
			static GLSLShaderProxySingleton *instance;
			std::map<std::string, GLSLShaderProgram*> loadedShaderPrograms;
	};
}